C语言程序设计新中国地质大学.docx

您所在的位置:网站首页 定义数组inta[10] C语言程序设计新中国地质大学.docx

C语言程序设计新中国地质大学.docx

#C语言程序设计新中国地质大学.docx| 来源: 网络整理| 查看: 265

C语言程序设计新中国地质大学.docx

《C语言程序设计新中国地质大学.docx》由会员分享,可在线阅读,更多相关《C语言程序设计新中国地质大学.docx(25页珍藏版)》请在冰豆网上搜索。

C语言程序设计新中国地质大学.docx

C语言程序设计新中国地质大学

《C语言程序设计》模拟题

一、单项选择题

1.下面程序运行的结果是

voidss(char*s,chart)

{

while(*s)

{

if(*s==t)*s=t-‘a’+’A’;

s++;

}

}

voidmain()

{

charstr1[100]=”abcddfefdbd”,c=’d’;

ss(str1,c);

printf("%s\n",str1);

}

A.ABCDDFEFDBD

B.abcDDfefDbD

C.abcAAfefAbA

D.Abcddfefdbd

[答案]:

B

2.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是

A.地址传递

B.单向值传递

C.由实参传给形参,再由形参传给实参

D.由用户指定传递方式

[答案]:

B

3.C语言中的标示符只能由字母,数字和下划线三种字符组成,且第一个字符()

A.必须是字母

B.必须是下划线

C.必须是字母或下划线

D.可以是字母或数字或下划线中的任意一种

[答案]:

C

4.不能把字符串:

"good!

"赋给数组b的语句是

A.charb[10]={’g’,’o’,’o’,’d’,’!

’};

B.charb[10];b="good!

";

C.charb[10];strcpy(b,"good!

");

D.charb[10]="good!

";

[答案]:

B

5.对for(表达式1;;表达式3)可以理解为

A.for(表达式1;0;表达式3)

B.for(表达式1;表达式1;表达式3)

C.for(表达式1;1;表达式3)

D.for(表达式1;表达式3;表达式3)

[答案]:

C

6.面向对象程序设计将数据与()放在一起,作为一个相互依存不可分割的整体来处理.

A.对数据的操作

B.信息

C.数据隐藏

D.数据抽象

[答案]:

A

7.若二维数组a有m列,则在a[i][j]前的元素个数为

A.j*m+i

B.A.i*m+j

C.i*m+j-i

D.i*m+j+1

[答案]:

B

8.若有int*p,a[10];p=a;,则下列写法不正确的是

A.p=a+2

B.a++

C.*(a+1)

D.p++

[答案]:

B

9.若有以下定义:

chars[10]="include“,*p=s;,则不能代表字符‘u’的表达式为

A.s[4]

B.s+4

C.*(p+4)

D.p+=4,*p;

[答案]:

B

10.设c1,c2均是char型变量,则下面不正确的函数调用为

A.scanf("c1=%cc2=%c”,&c1,&c2);

B.getchar();

C.putchar(c2);

D.putchar(c1,c2);

[答案]:

D

11.说明一个结构体变量时,系统分配给它的内存是

A.各成员所需内存量的总和

B.结构体中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构体中最后一成员所需内存量

[答案]:

A

12.下列数据中,合法的8进制常量是().

A.473

B.931

C.0abc

D.10

[答案]:

D

13.下面不正确的说法是:

C语言规定

A.实参可以是常量,变量或表达式

B.形参可以是常量,变量或表达式

C.实参传递给形参时,要求实参必须有确定的值

D.形参应与其对应的实参类型可以不一致

[答案]:

B

14.以下说法中正确的是

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用的函数必须在main函数中定义

C.C语言程序总是从main函数开始执行

D.C语言程序中的main函数必须放在程序的开始部分

[答案]:

C

15.下面程序段的输出结果是

charc1=’6’,c2=’0’;

printf(”%c,%c,%d,%d\n”,c1,c2,c1-c2,c1+c2);

A.因输出格式不合法,输出出错信息

B.6,0,6,102

C.6,0,7,6

D.6,0,5,7

[答案]:

B

16.下面的循环结构中,不是无限循环的是

A.for(i=1;;i++)

B.i=1;while(i--)

C.i=1;do{printf(”%d”,i);i++;}while(--i);

D.for(i=0;i;i++)

[答案]:

D

17.下面是对s的初始化,其中不正确的是

A.chars[5]={"abc"};

B.chars[5]={‘a’,’b’,’c’};

C.chars[5]=””;

D.chars[5]=”abced”;

[答案]:

D

18.下面说法中不正确的是

A.一个C源程序可有一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成是函数

D.在C程序中,注释语句只能位于一条语句的后面

[答案]:

D

19.下面四个选项当中,均是关键字的是()

A.auto,enum,include

B.switch,typedef,continue

C.signed,union,scanf

D.if,struct,type

[答案]:

B

20.已知ch是字符型变量,下面不正确的赋值语句为

A.ch=’a+b’;

B.ch=’\0’;

C.ch=’7’+’9’;

D.ch=5+9;

[答案]:

A

21.以下正确的说法是

A.定义函数时,形参的类型说明可以放在函数体内

B.return后边的值不能为表达式

C.如果函数值的类型和返回值类型不一致,以函数值类型为准

D.如果形参与实参的类型不一致,以函数值类型为准

[答案]:

C

22.C语言规定,在一个源程序中,main函数的位置

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

[答案]:

C

23.sizeof(double)是一个()表达式.

A.整型

B.双精度

C.不合法

D.函数调用

[答案]:

A

24.不正确的定义语句是

A.doublex[5]={2.0,4.0,6.0,8.0,10.0};

B.inty[5]={0,1,3,5,7,9};

C.charc1[]={’1’,’2’,’3’,’4’,’5’};

D.charc2[]={’\x10’,’\x0a’,’\x08’};

[答案]:

B

25.对if语句中表达式的类型,下面正确的说法是

A.必须是关系表达式

B.必须是关系表达式或逻辑表达式

C.可以是任意表达式

D.必须是关系表达式或算术表达式

[答案]:

C

26.能正确表示a和b同时为正或同时为负的表达式是

A.(a>=0||b>=0)&&(a

B.(a>=0||b>=0)&&(a

C.(a+b>0)&&(a+|b

D.a*b>0

[答案]:

D

27.若使用以为数组名作函数实参,则下面说法中正确的是

A.在被调函数中,与该实参相对应的形参必须是同类型的数组名或指针变量

B.实参数组类型与形参数组类型可以不匹配

C.在被调函数中,不需要考虑形参数组的大小

D.实参数组名与形参数组名必须一致

[答案]:

A

28.若有定义:

inta[10],*p=a;,则p+5表示

A.元素a[5]的地址

B.元素a[5]的值

C.元素a[6]的地址

D.元素a[6]的值

[答案]:

A

29.若有以下结构体定义,则正确的引用和定义是structexample{intx;inty;}v1;

A.example.x=10

B.examplev2;v2.x=10;

C.structv2;v2.x=10;

D.structexamplev2={10,5};

[答案]:

B

30.设p1,p2是指向同一个字符串的指针变量,c为字符变量,则不能正确执行的赋值语句为

A.c=*p1+*p2;

B.p2=c;

C.p1=p2;

D.c=(*p1)*(*p2);

[答案]:

B

31.为了表示关系x>=y>=z,下面C语言表达式中正确的是

A.(x>=y)&&(y>=z)

B.(x>=y)and(y>=z)

C.(x>=y>=z)

D.(x>=y)&(y>=z)

[答案]:

A

32.下列数据中属于"字符串常量"的是().

A.abg

B."sdfk"

C.‘dfk’

D.‘a’

[答案]:

B

33.下面程序的输出结果是

voidmain()

{

inti=010,j=10;

printf("%d,%d",i++,++j);

}

A.10,11

B.11,11

C.8,11

D.8,10

[答案]:

C

34.下面程序的运行结果是

voidmain()

{

inta,b,d=241;

a=d/100%9;

b=(-1)&&(-1);

printf("%d,%d",a,b);

}

A.6,1

B.2,1

C.6,0

D.2,0

[答案]:

B

35.下面程序段的运行结果是

charc[]=”\t\b\\\0will\n”;

printf("%d“,strlen(c));

A.14

B.3

C.9

D.字符串中有非法字符,输出值不确定

[答案]:

B

36.下面关于for循环的正确描述是

A.for循环只能用于循环次数已经确定的情况

B.for循环中是先执行循环体语句,后判断表达式

C.在for循环中,不能用break语句跳出循环

D.for循环的循环体可以包含多条语句,但必须用花括号括起来

[答案]:

D

37.下面是对象概念的描述中,()是错误的.

A.对象C就是C语言中的结构变量

B.对象代表着正在创建的系统中一个实体

C.对象是一个状态和操作的封装体

D.对象之间的信息传递是通过消息进行的

[答案]:

A

38.下面说法中正确的是

A.在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组

B.在C语言中,数组元素的个数可以不确定,允许随即变动

C.在C语言中,数组元素的数据类型可以不一致

D.在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数

[答案]:

D

39.一个C语言程序是由

A.一个主程序或若干个子程序组成

B.函数组成

C.若干过程组成

D.若干个子程序组成

[答案]:

B

40.以下关于运算符优先顺序的描述中正确的是

A.关系运算符

B.逻辑运算符

C.赋值运算符

D.算术运算符

[答案]:

C

41.C语言规定,函数返回值的类型是由

A.return语句中的表达式类型所决定

B.调用该函数时的主调函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定

[答案]:

D

42.C语言中,函数的隐含存储类型是().

A.auto

B.static

C.extern

D.register

[答案]:

A

43.变量的指针,其含义是指该变量的

A.值

B.地址

C.名

D.一个标志

[答案]:

B

44.程序段如下,则正确的执行结果是

intk=0;

while(k++

printf(“%d\n",k);

A.2

B.3

C.4

D.无结果

[答案]:

C

45.对于基类型相同的两个指针变量之间,不能进行的运算是

A.

B.=

C.+

D.-

[答案]:

C

46.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为().

x=(i=4,j=16,k=32)

A.4B

B.16C

C.32D

D.52

[答案]:

C

47.若用数组名作为函数调用的实参,传递给形参的是

A.数组的首地址

B.数组第一个元素的值

C.数组中全部元素的值

D.数组元素的个数

[答案]:

A

48.若有条件表达式(exp)?

a++:

b--,则以下表达式中完全等价于表达式(exp)的是

A.(exp==0)

B.(exp!

=0)

C.(exp==1)

D.(exp!

=1)

[答案]:

B

49.若执行下面的程序段,则下面描述中正确的是

intk=5;

while(k=1)k--;

A.while循环执行四次

B.循环体执行一次

C.循环体一次也不执行

D.死循环

[答案]:

D

50.设x,y,z,t均为int型变量,则执行以下语句后,t的值为______.

x=y=z=1;

t=++x||++y&&++z

A.不定值

B.2

C.1

D.0

[答案]:

C

51.下列常量中,合法的C常量是

A."x-y"

B.‘105’

C.‘Be’

D.07ff

[答案]:

A

52.下列说法中正确的是

A.结构体变量可以作为一个整体进行其值得输入和输出

B.结构体成员项不可以是结构体

C.结构体成员项可以是结构体或其他任何C语言的数据类型

D.结构体变量和结构体是相同的概念

[答案]:

C

53.下面程序的输出结果是

voidmain

{

inti=011,j=11;

printf("%d,%d\n",++i,j--);

}

A.10,11

B.12,10

C.11,11

D.10,9

[答案]:

A

54.下面程序的执行结果为

voidmain()

{

intx=20,y;

y=++x;

y+=x;

printf(”%d,”y);

y=x--;

y+=x;

printf(”%d,”y);

}

A.42,41

B.42,42

C.40,41

D.42,40

[答案]:

A

55.下面程序段的运行结果是

charc[5]={‘a’,’b’,’\0’,’c’,’\0’};

printf("%s",c);

A.‘a’’b’

B.ab

C.abc

D.abc

[答案]:

B

56.下面哪项是构成C语言的基本单位

A.函数

B.过程

C.子程序

D.子例程

[答案]:

A

57.下面说法正确的是,在C语言中

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共占用一个存储单元

C.只有当实参和与其对应的形参同名时才共占用存储单元

D.形参是虚拟的,不占用存储单元

[答案]:

A

58.下面说法中正确的是:

在C语言程序中

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和调用均不可以嵌套

D.函数的定义和调用均可以嵌套

[答案]:

B

59.一个变量的指针是指

A.该变量的值

B.该变量的地址

C.该变量的变量名

D.该变量的标志

[答案]:

B

二、判断题

1.C语句以句号结束.

[答案]:

F

2.‘’中只能放一个字符.

[答案]:

T

3.const表示常变量.

[答案]:

T

4.C程序的三种基本结构是:

顺序,选择,函数.

[答案]:

F

5.C程序可以有多个输入.

[答案]:

T

6.C语句以分号结束.

[答案]:

T

7.C语言数组中以列优先.

[答案]:

F

8.double表示单精度实型.

[答案]:

F

9.float型数据在内存中占2个字节.

[答案]:

F

10.int表示整型.

[答案]:

T

11.static是自动型变量.

[答案]:

F

12.变量不能定义在函数之外.

[答案]:

F

13.定义inta[][3]={1,2,3,4,5,6};是否正确?

[答案]:

T

14.格式声明%d表示整型.

[答案]:

T

15.函数递归就是调用该函数本身.

[答案]:

T

16.函数体分为声明部分和执行部分

[答案]:

T

17.库函数可以是系统提供的,也可以是用户自己编写的.

[答案]:

F

18.如有:

floata[10];定义是否正确?

[答案]:

T

19.如有:

inta[5]={1,2,3,4,5};那么a[1]=1?

[答案]:

F

20.实参不能是表达式.

[答案]:

F

21.实参可以是变量.

[答案]:

T

22.数组的下标可以是常量,也可以是变量.

[答案]:

F

23.数组元素不能作为函数的实参.

[答案]:

F

24.数组中的元素的数据类型可以不相同.

[答案]:

F

25.形参可以是数组名.

[答案]:

T

26./*和*/不必成对使用.

[答案]:

F

27.”"中只能放一个字符.

[答案]:

F

28.C程序必须有一个或多个输出.

[答案]:

T

29.C程序可以没有输出.

[答案]:

F

30.C程序中,可以有一个主函数和若干个子函数组成.

[答案]:

T

31.C语言数组下标习惯上从0开始.

[答案]:

T

32.C语言中既有字符变量,也有字符常量.

[答案]:

F

33.double型数据在内存中占8个字节.

[答案]:

T

34.i++表示自身加1.

[答案]:

T

35.m=max(a,max(b,c));书写正确吗?

[答案]:

T

36.按变量的生存期可分为:

动态存储和静态存储.

[答案]:

T

37.变量可分为局部变量和全局变量.

[答案]:

T

38.定义inta[2][]={1,2,3,4,5,6};是否正确?

[答案]:

F

39.函数必须有返回值.

[答案]:

F

40.函数递归调用一般用if-else实现.

[答案]:

T

41.函数中的参数分为实参和形参.

[答案]:

T

42.两个字符串所包含的字符个数相同时,才能比较字符串.

[答案]:

F

43.如有:

inta[3][4];定义是否正确?

[答案]:

T

44.如有:

inta[n];定义是否正确?

[答案]:

F

45.实参传递给形参的可以是地址.

[答案]:

T

46.实参可以是常量.

[答案]:

T

47.数组的长度可以改变.

[答案]:

F

48.数组元素可以作为函数的形参.

[答案]:

F

49.所有的C程序都需要写在一个函数里.

[答案]:

F

50.形参只能是变量.

[答案]:

F

51.//表示程序结束.

[答案]:

F

52.c=2*max(a,b);书写正确吗?

[答案]:

T

53.C程序从主函数开始,从主函数结束.

[答案]:

T

54.C程序可以没有输入.

[答案]:

T

55.C语句以逗号结束.

[答案]:

F

56.C语言数组中以行优先.

[答案]:

T

57.C语言中字符变量用字符数组来表示.

[答案]:

T

58.float表示双精度实型.

[答案]:

F

59.inta,b;在定义时省略了auto.

[答案]:

T

60.printf("%%d",1/3);输出0.333333.

[答案]:

F

61.变量必须先定义,后使用.

[答案]:

T

62.定义inta[2][]={{1,2},{3,4}};是否正确?

[答案]:

F

63.多维数组名不能用作函数的形参.

[答案]:

F

64.函数不可以嵌套定义,但可以嵌套调用.

[答案]:

T

65.函数可以嵌套定义,但不能嵌套调用.

[答案]:

F

66.可以在定义数组的同时赋初始值.

[答案]:

T

67.确定性不是算法的特征.

[答案]:

F

68.如有:

inta[5]={1,2,3,4,5};定义是否正确?

[答案]:

T

69.如有:

intn=5;inta[n];定义是否正确?

[答案]:

F

70.实参传递给形参的可以是数值.

[答案]:

T

71.实参只能是变量.

[答案]:

F

72.数组名可以作为函数的实参.

[答案]:

T

73.数组中的下标用[]括起来.

[答案]:

T

74.同一数组的元素具有相同的数组名.

[答案]:

T

75.有穷性是算法的特征.

[答案]:

T

三、问答题

1.&&,||,!

谁的优先级别最高?

[答案]:

!

2.?

:

是什么运算符?

[答案]:

条件运算符.

3.“++"和"="谁的优先级高?

[答案]:

"++"



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3